/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.ucue.ptc.rest;

import edu.ucue.ptc.gco.mdl.Cliente;
import edu.ucue.ptc.gco.mdl.DetallePedido;
import edu.ucue.ptc.gco.mdl.Direccion;
import edu.ucue.ptc.gco.mdl.Lote;
import edu.ucue.ptc.gco.mdl.Pedido;
import edu.ucue.ptc.gco.mdl.Producto;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.UriInfo;
import javax.ws.rs.PathParam;
import javax.ws.rs.Consumes;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.GET;
import javax.ws.rs.Produces;
import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.inject.Named;

/**
 * REST Web Service
 *
 * @author wilo
 */
//idPedido/idProducto/cantidad/precio/user/password
@Path("DetallePedido/{idProducto}/{idLote}/{cantidad}/{precio}/{user}/{password}/{callback}")
@RequestScoped
public class DetallePedidoResource {

    @Context
    private UriInfo context;
    
    @Inject
    private Pedido pedido;

    @Inject
    private Producto producto;
    
    @Inject
    private DetallePedido detallePedido;
    /**
     * Creates a new instance of DetallePedidoResource
     */
    public DetallePedidoResource() {
    }

    /**
     * Retrieves representation of an instance of edu.ucue.ptc.rest.DetallePedidoResource
     * @return an instance of java.lang.String
     */
    @GET
    @Produces("application/json")
    @Named
    //{idProducto}/{idLote}/{cantidad}/{precio}/{user}/{password}/{callback}
    public String getJson(@PathParam("idProducto") String idProducto,@PathParam("idLote") String idLote,
    @PathParam("cantidad") String cantidad,@PathParam("precio") String precio,
    @PathParam("user") String user,@PathParam("password") String password,@PathParam("callback") String callback) 
    {   
        detallePedido.setCantidad(Integer.parseInt(cantidad));
        detallePedido.setIva(true);
        
        detallePedido.setPrecio(Double.parseDouble(precio));
        
        producto.setIdProducto(Integer.parseInt(idProducto));
        detallePedido.setProducto(producto);
        detallePedido.setTotal(Double.parseDouble(precio)*Integer.parseInt(cantidad));
        Lote lote=new Lote();
        lote.setIdLote(Integer.parseInt(idLote));
        detallePedido.setLote(lote);
        
        
        List<DetallePedido> detalle = ins.pedidoVenta2.getDetalle();
        
        detalle.add(detallePedido);
        ins.pedidoVenta2.setDetalle(detalle);
        
//        ins.pedidoVenta2.detalle.add(detallePedido);
        
        /*
        List<DetallePedido> detallePediddoP=ins.pedidoVenta2.detalle;
        List<DetallePedido> detallePediddoP2;
        detallePediddoP2 = ins.pedidoVenta2.getDetalle();
        detallePediddoP.add(detallePedido);
        detallePediddoP2.add(detallePedido);
        ins.pedidoVenta2.setDetalle(detallePediddoP);
        DetallePedido detalle=new DetallePedido();*/
        //ins.pedidoVenta2.detalle.add(detallePedido);
        //.setDetalle(detalle.);
        
/*        detallePedido.setCantidad(Integer.parseInt(cantidad));
        detallePedido.setIva(true);
        
        pedido.setIdPedido(Integer.parseInt(idPedido));
        detallePedido.setPedido(pedido);
        detallePedido.setPrecio(Double.parseDouble(precio));
        
        producto.setIdProducto(Integer.parseInt(idProducto));
        detallePedido.setProducto(producto);
        detallePedido.setTotal(Double.parseDouble(precio)*Integer.parseInt(cantidad));
        */
        return callback+"({\"callback\":\""+callback+"\",\"respuesta\":\""+"Siguiente"+"\"})";
    }

    /**
     * PUT method for updating or creating an instance of DetallePedidoResource
     * @param content representation for the resource
     * @return an HTTP response with content of the updated or created resource.
     */
    @PUT
    @Consumes("application/json")
    public void putJson(String content) {
    }
}
